#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
打包脚本，用于将merge_pdfs.py脚本打包成独立的可执行文件
使用PyInstaller进行打包
"""

import os
import subprocess
import platform

def build_executable():
    """
    使用PyInstaller将merge_pdfs.py打包为可执行文件
    """
    print("开始打包PDF合并工具...")
    
    # 确定系统类型
    system = platform.system()
    
    # 构建PyInstaller命令
    cmd = [
        'pyinstaller',
        '--onefile',  # 打包成单个文件
        '--noconfirm',  # 不询问覆盖
        '--clean',  # 清理临时文件
        '--name', 'PDF合并工具',  # 可执行文件名
        '--windowed',  # 不显示控制台窗口
        '--icon=NONE',  # 默认图标
        'merge_pdfs.py'  # 源文件
    ]
    
    # 执行打包命令
    try:
        subprocess.run(cmd, check=True)
        
        # 打包成功后提示信息
        dist_dir = os.path.abspath('./dist')
        if system == 'Windows':
            exe_path = os.path.join(dist_dir, 'PDF合并工具.exe')
        else:
            exe_path = os.path.join(dist_dir, 'PDF合并工具')
            
        print(f"\n打包成功！可执行文件已生成: {exe_path}")
        print("\n使用说明:")
        print("1. 将生成的可执行文件放在包含PDF文件的文件夹中")
        print("2. 双击运行可执行文件")
        print("3. 合并后的PDF文件将保存在同目录下的'output'文件夹中")
        
    except Exception as e:
        print(f"打包过程中发生错误: {str(e)}")
        print("\n请确保已安装PyInstaller，可通过以下命令安装:")
        print("pip install pyinstaller")

if __name__ == "__main__":
    build_executable() 